package com.bookcloud.java21.chapter7.自定义异常76;

import java.io.FileInputStream;

public class MyDefineExceptionCase {
  // 读取文件方法
  public static void readFile() throws MyException {
    // 读取文件
    try {
      // 读取文件
      FileInputStream fis = new FileInputStream("a.txt");
    } catch (Exception e) {
      throw new MyException(1001, "文件不存在");
    }
  }

  // 定义一个非受检异常的方法，使用空指针异常
  public static void add() {
    // 非受检异常
    try {
      String str = null;
      str.length();
    } catch (NullPointerException e) {
      throw new MyRuntimeException(1002, "空指针异常", e);
    }
  }

  public static void main(String[] args) {
    // 受检异常
    // 处理异常
    try {
      readFile();
      //    } catch (MyException e) {
      //      e.printStackTrace();
      //    }
    } catch (Exception e) {
      // e.printStackTrace();
    }
    // 非受检异常
    try {
      add();
    } catch (MyRuntimeException e) {
      e.printStackTrace();
    }
  }
}
